<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Emulateur PROCSI: Référence du fichier /home/aboursie/workspace/emulator-procsi/src/parser.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Généré par Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Recherche');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Emulateur PROCSI&#160;<span id="projectnumber">1</span></div>
   <div id="projectbrief">reproduction du fonctionnement de PROCSI en C</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Page&#160;principale</span></a></li>
      <li><a href="annotated.html"><span>Structures&#160;de&#160;données</span></a></li>
      <li class="current"><a href="files.html"><span>Fichiers</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Recherche" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>Liste&#160;des&#160;fichiers</span></a></li>
      <li><a href="globals.html"><span>Portée&#160;globale</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Fonctions</a>  </div>
  <div class="headertitle">
<div class="title">Référence du fichier /home/aboursie/workspace/emulator-procsi/src/parser.c</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="parser_8h_source.html">parser.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="instructions_8h_source.html">instructions.h</a>&quot;</code><br/>
<code>#include &lt;ctype.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
</div>
<p><a href="parser_8c_source.html">Aller au code source de ce fichier.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Fonctions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct___liste.html">Liste</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a699222a9803074275d3f6194ba7d7fd6">add_List</a> (<a class="el" href="struct___liste.html">Liste</a> *dernier, <a class="el" href="pvm_8h.html#a9e9b08bbbfb50d0535079872d3ed87c3">REG</a> pointeur, char *nom)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct___liste.html">Liste</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a3311a48b30e5ad1f562b2b39dd196ba6">next_List</a> (<a class="el" href="struct___liste.html">Liste</a> *actuel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a0e7bad31cfcadd3bbf0eb2b1982b900d">get_List</a> (<a class="el" href="struct___liste.html">Liste</a> *dernier, char *nom, <a class="el" href="pvm_8h.html#a9e9b08bbbfb50d0535079872d3ed87c3">REG</a> *pointeur)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a968585eb1e2e0f2c35d4b79022686f66">conversion_ASCII</a> (char ASCII, int base)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a8456f79f4a9a3dfdf2651c2ba547698f">parse_nombre</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, int *valeur, bool modifiable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#ac9d2074d9663fb76047d5b20cf1a46fe">parse_etiquette</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, int *adresse)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#ac5fa3961091c4c94e3423fed83c9d4d8">parse_attribut</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, int *data, int *reg, <a class="el" href="pvm_8h.html#a1a6b6fb557d8d37d59700faf4e4c9167">mode</a> *<a class="el" href="pvm_8h.html#a1a6b6fb557d8d37d59700faf4e4c9167">mode</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#aecf49f338b2745de87a37e4fef5369dd">parse_dest</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, <a class="el" href="union_mot.html">Mot</a> mot[3], unsigned int *taille)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#aa123a35c54f17966bc48ab8432338a0f">parse_source</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, <a class="el" href="union_mot.html">Mot</a> mot[3], unsigned int *taille)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#affc982ea77b338990a57df06d9ba48e3">parse_destsource</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, <a class="el" href="union_mot.html">Mot</a> mot[3], unsigned int *taille)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#af3252401fd0fb63dce195591a56e164a">parse_instruction</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, <a class="el" href="union_mot.html">Mot</a> mot[3], unsigned int *taille)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#aef100b52f70fee61f4019eaa5e9ea1d8">parse_ligne</a> (<a class="el" href="struct_parser.html">Parser</a> *parser, char *ligne)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a445a9fbee64510aa392f741d1ce5d3ae">recup_etiquette</a> (<a class="el" href="struct_parser.html">Parser</a> *parser)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a9ba230292030c202d6dcdb92085609e5">newParser</a> (FILE *f)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parser_8c.html#a77e7225758aa19ce6f3e9d4be4e8c229">load_program</a> (char *filename, <a class="el" href="struct_p_v_m.html">PVM</a> *pvm)</td></tr>
</table>
<hr/><h2>Documentation des fonctions</h2>
<a class="anchor" id="a699222a9803074275d3f6194ba7d7fd6"></a><!-- doxytag: member="parser.c::add_List" ref="a699222a9803074275d3f6194ba7d7fd6" args="(Liste *dernier, REG pointeur, char *nom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct___liste.html">Liste</a>* add_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___liste.html">Liste</a> *&#160;</td>
          <td class="paramname"><em>dernier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pvm_8h.html#a9e9b08bbbfb50d0535079872d3ed87c3">REG</a>&#160;</td>
          <td class="paramname"><em>pointeur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>nom</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ajouter un élément à la liste chaînée</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">tete</td><td>l'élément en tête de la liste auquel doit être raccordé le nouveau </td></tr>
    <tr><td class="paramname">pointeur</td><td>l'adresse mémoire de l'élément </td></tr>
    <tr><td class="paramname">nom</td><td>le nom du nouvel élément </td></tr>
    <tr><td class="paramname">longueur</td><td>la longueur de l'élément à ajouter</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>la nouvelle liste avec l'élément cible ajouté </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00018">18</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a968585eb1e2e0f2c35d4b79022686f66"></a><!-- doxytag: member="parser.c::conversion_ASCII" ref="a968585eb1e2e0f2c35d4b79022686f66" args="(char ASCII, int base)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char conversion_ASCII </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>ASCII</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convertit un caractère ASCII en une valeur alphanumérique dépendant de sa base</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ASCII</td><td>la valeur ASCII du nombre à convertir </td></tr>
    <tr><td class="paramname">base</td><td>la base de destination</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>la valeur du caractère correspondant à la base souhaitée </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00098">98</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0e7bad31cfcadd3bbf0eb2b1982b900d"></a><!-- doxytag: member="parser.c::get_List" ref="a0e7bad31cfcadd3bbf0eb2b1982b900d" args="(Liste *dernier, char *nom, REG *pointeur)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool get_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___liste.html">Liste</a> *&#160;</td>
          <td class="paramname"><em>dernier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>nom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pvm_8h.html#a9e9b08bbbfb50d0535079872d3ed87c3">REG</a> *&#160;</td>
          <td class="paramname"><em>pointeur</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Obtenir un élément de la liste</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dernier</td><td>pointeur sur la tête de liste </td></tr>
    <tr><td class="paramname">nom</td><td>le nom de l'élément </td></tr>
    <tr><td class="paramname">longueur</td><td>longueur du nom de l'élément </td></tr>
    <tr><td class="paramname">pointeur</td><td>pointeur de sortie de l'adresse de l'élément</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>true si l'élément a été trouvé et si le pointeur est écrit, faux sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00066">66</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a77e7225758aa19ce6f3e9d4be4e8c229"></a><!-- doxytag: member="parser.c::load_program" ref="a77e7225758aa19ce6f3e9d4be4e8c229" args="(char *filename, PVM *pvm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void load_program </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_p_v_m.html">PVM</a> *&#160;</td>
          <td class="paramname"><em>pvm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Charger le programme cible</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>le nom du fichier cible </td></tr>
    <tr><td class="paramname">pvm</td><td>la pvm cible </td></tr>
  </table>
  </dd>
</dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00855">855</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9ba230292030c202d6dcdb92085609e5"></a><!-- doxytag: member="parser.c::newParser" ref="a9ba230292030c202d6dcdb92085609e5" args="(FILE *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_parser.html">Parser</a>* newParser </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Créer un nouveau parseur</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>le fichier cible </td></tr>
  </table>
  </dd>
</dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00836">836</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a3311a48b30e5ad1f562b2b39dd196ba6"></a><!-- doxytag: member="parser.c::next_List" ref="a3311a48b30e5ad1f562b2b39dd196ba6" args="(Liste *actuel)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct___liste.html">Liste</a>* next_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___liste.html">Liste</a> *&#160;</td>
          <td class="paramname"><em>actuel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Se déplacer vers l'élément suivant</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">actuel</td><td>la référence vers la liste cible</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>l'élément suivant de la liste </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00050">50</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac5fa3961091c4c94e3423fed83c9d4d8"></a><!-- doxytag: member="parser.c::parse_attribut" ref="ac5fa3961091c4c94e3423fed83c9d4d8" args="(Parser *parser, int *data, int *reg, mode *mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_attribut </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pvm_8h.html#a1a6b6fb557d8d37d59700faf4e4c9167">mode</a> *&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Parse un attribut</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">data</td><td>un pointeur vers les données (spécifiques aux modes direct/immédiat) </td></tr>
    <tr><td class="paramname">reg</td><td>un pointeur vers le numéro du registre </td></tr>
    <tr><td class="paramname">mod</td><td>le mode detecté</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>false si l'instruction ne peut être lue, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00266">266</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="aecf49f338b2745de87a37e4fef5369dd"></a><!-- doxytag: member="parser.c::parse_dest" ref="aecf49f338b2745de87a37e4fef5369dd" args="(Parser *parser, Mot mot[3], unsigned int *taille)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_dest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="union_mot.html">Mot</a>&#160;</td>
          <td class="paramname"><em>mot</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>taille</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> des instructions ayant simplement une destination</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">mot</td><td>tableau contenant l'instruction et les valeurs </td></tr>
    <tr><td class="paramname">taille</td><td>la taille de l'instruction, et par la suite du tableau mot</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>faux en cas d'erreurs, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00382">382</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="affc982ea77b338990a57df06d9ba48e3"></a><!-- doxytag: member="parser.c::parse_destsource" ref="affc982ea77b338990a57df06d9ba48e3" args="(Parser *parser, Mot mot[3], unsigned int *taille)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_destsource </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="union_mot.html">Mot</a>&#160;</td>
          <td class="paramname"><em>mot</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>taille</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> des instructions ayant destination-source</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">mot</td><td>tableau contenant l'instruction et les valeurs </td></tr>
    <tr><td class="paramname">taille</td><td>la taille de l'instruction, et par la suite du tableau mot</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>faux en cas d'erreurs, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00508">508</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac9d2074d9663fb76047d5b20cf1a46fe"></a><!-- doxytag: member="parser.c::parse_etiquette" ref="ac9d2074d9663fb76047d5b20cf1a46fe" args="(Parser *parser, int *adresse)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_etiquette </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>adresse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> l'étiquette cible</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>le parser cible </td></tr>
    <tr><td class="paramname">adresse</td><td>l'adresse de l'étiquette</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>true si l'étiquette à été trouvée, false sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00229">229</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="af3252401fd0fb63dce195591a56e164a"></a><!-- doxytag: member="parser.c::parse_instruction" ref="af3252401fd0fb63dce195591a56e164a" args="(Parser *parser, Mot mot[3], unsigned int *taille)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_instruction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="union_mot.html">Mot</a>&#160;</td>
          <td class="paramname"><em>mot</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>taille</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> une instruction unique en connaissant son code-operande</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">mot</td><td>tableau contenant l'instruction et les valeurs </td></tr>
    <tr><td class="paramname">taille</td><td>la taille de l'instruction, et par la suite du tableau mot</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>faux en cas d'erreurs, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00624">624</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="aef100b52f70fee61f4019eaa5e9ea1d8"></a><!-- doxytag: member="parser.c::parse_ligne" ref="aef100b52f70fee61f4019eaa5e9ea1d8" args="(Parser *parser, char *ligne)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_ligne </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ligne</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> une ligne de code</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">ligne</td><td>pointeur vers la ligne cible</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>false en cas d'erreur, true sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00670">670</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8456f79f4a9a3dfdf2651c2ba547698f"></a><!-- doxytag: member="parser.c::parse_nombre" ref="a8456f79f4a9a3dfdf2651c2ba547698f" args="(Parser *parser, int *valeur, bool modifiable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_nombre </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>valeur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>modifiable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> un nombre</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">valeur</td><td>un pointeur vers un int </td></tr>
    <tr><td class="paramname">modifiable</td><td>assertion ou négation sur la modification s'une base</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>false si le nombre ne peut pas être lu, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00136">136</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa123a35c54f17966bc48ab8432338a0f"></a><!-- doxytag: member="parser.c::parse_source" ref="aa123a35c54f17966bc48ab8432338a0f" args="(Parser *parser, Mot mot[3], unsigned int *taille)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool parse_source </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="union_mot.html">Mot</a>&#160;</td>
          <td class="paramname"><em>mot</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>taille</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="struct_parser.html">Parser</a> des instructions ayant simplement une source</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>un pointeur vers la structure du pointeur </td></tr>
    <tr><td class="paramname">mot</td><td>tableau contenant l'instruction et les valeurs </td></tr>
    <tr><td class="paramname">taille</td><td>la taille de l'instruction, et par la suite du tableau mot</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>faux en cas d'erreurs, vrai sinon </dd></dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00444">444</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
<a class="anchor" id="a445a9fbee64510aa392f741d1ce5d3ae"></a><!-- doxytag: member="parser.c::recup_etiquette" ref="a445a9fbee64510aa392f741d1ce5d3ae" args="(Parser *parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool recup_etiquette </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_parser.html">Parser</a> *&#160;</td>
          <td class="paramname"><em>parser</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Récupérer les etiquettes du code assembleur cible</p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>le parser cible </td></tr>
  </table>
  </dd>
</dl>

<p>Définition à la ligne <a class="el" href="parser_8c_source.html#l00787">787</a> du fichier <a class="el" href="parser_8c_source.html">parser.c</a>.</p>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Tout</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Structures de données</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Fichiers</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Fonctions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Définition de type</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Énumérations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Valeurs énumérées</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Généré le Sat Dec 31 2011 13:00:38 pour Emulateur PROCSI par&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>
